Wer seine Hilfetexte mit HTML Help Workshop in einer *.chm-Datei (compiled help) zusammengefasst hat, kann sie auf zwei Wegen mit einer Anwendung, zum Beispiel Testverwaltung.mdb, verbinden:
Ein Klick auf eine Schaltfläche
wie
startet eine
VBA-Prozedur, die eine ActiveX-DLL des HTML Help Workshops
nutzt.
Die Aufrufargumente bestimmen das Hilfethema.
TESTS unterstützt den Anwender ...
durch eine möglichst selbsterklärende Benutzeroberfläche.
durch gelbe Kurzinformation, die erscheint, wenn der Cursor auf einem Formularelement liegt.
durch einen Klick auf die Schaltfläche
. Der
erscheinende Hilfetext führt zu weiteren Hilfethemen.
Das folgende Beispiel zeigt, wie sich kontextsensitive
Hilfe integrieren lässt.
Der VBA-Code stammt aus dem Modul Form_FrmStart von
Access_Quiz.mdb. Zuerst schafft er eine Verbindung zur externen Programmbibliothek HHCtrl.ocx,
indem er deren Funktion HtmlHelp
vereinbart. Dann
startet die
Ereignisprozedur der Schaltfläche
BtnHilfe
(
) diese Funktion
und übergibt ihr die eingangs vereinbarten vier Argumente, welche die Hilfedatei
Tests.chm
öffnen und daraus das Hilfethema AccessQuiz.htm
anzeigen.
'--- 1. Externe DLL HHCtrl.ocx vereinbaren ' (ActiveX-Control, das die Integration von Hilfethemen ermöglicht) Const HH_DISPLAY_TOPIC = &H0 Private Declare Function HtmlHelp Lib "HHCtrl.ocx" Alias "HtmlHelpA" _ (ByVal hwndCaller As Long, _ ByVal pszFile As String, _ 'kompilierte Hilfedatei ByVal uCommand As Long, _ 'Beschreibung der Hilfeaktion dwData As Any 'HTML-Datei mit dem Hilfethema ) As Long '--- 2. In Ziff. 1 vereinbarte Funktion mit passenden Argumenten aufrufen Private Sub BtnHilfe_Click() Call HtmlHelp(0, "Tests.chm", HH_DISPLAY_TOPIC, ByVal "AccessQuiz.htm") End Sub
Was ändert, wenn aus einem beliebigen Formular oder Steuerelement eine Hilfedatei aufgerufen werden soll?
BtnHilfe_Click() wird nötigenfalls durch eine Ereignisprozedur ersetzt, die statt auf einen Klick auf eine Taste wie »F1 reagiert)
AccessQuiz.htm wird durch ein anderes Hilfethema ersetzt.
Tests.chm wird nötigenfalls durch eine andere Hilfedatei ersetzt.